20 SYS 65418 30 POKE 53280,11:POKE 53281,0 40 POKE 808,234 50 POKE 55,0:POKE 56,95:CLR 60 GOSUB 910:REM POKE ML AT 50000 70 DIM K(255) 75 GOSUB 4000 80 PRINT"[147]"SPC(5)"[215]HAT TYPE OF FILE TO COMPRESS?" 82 PRINTSPC(14)"[[196]]OODLE" 84 PRINTSPC(14)"[[203]]OALAPAD" 86 PRINTSPC(14)"[[207]]THER" 90 GOSUB 2300 110 PRINT"[194]ORDER [195]OLOR: (0-15) "; 112 CH$="N":MAX=2:GOSUB 2000 114 IF T$="" THEN T$="0":PRINT"[145]"SPC(21)T$"":GOTO 120 116 IF VAL(T$)<0 OR VAL(T$)>15 THEN PRINT"[145]"SPC(21)" [157][157]";:GOTO 112 120 BC=VAL(T$) 122 PRINT"[158] --------------------------------------" 125 PRINT"[198]ILE TO CRUNCH: "; 130 MAX=16:GOSUB 2000 135 F$="SOURCE FILE":IF T$="" THEN PRINT"[145]"SPC(16)F$ 137 IF T$<>"" THEN F$=T$ 140 PRINT"[196]RIVE: (8-11) "; 141 CH$="N":MAX=2:GOSUB 2000 142 IF T$="" THEN T$="8":PRINT"[145]"SPC(14)T$"":GOTO 146 144 IF (VAL(T$)<8) OR (VAL(T$)>11) THEN PRINT"[145]"SPC(14)" [157][157]";:GOTO 141 146 D1=VAL(T$) 148 PRINTSPC(10)"[158] -------------------" 150 PRINT"[206]EW FILENAME: "; 152 MAX=16:GOSUB 2000 154 NF$="COMPRESSED FILE":IF T$="" THEN PRINT"[145]"SPC(14)NF$ 156 IF T$<>"" THEN NF$=T$ 160 PRINT"[196]RIVE: (8-11) "; 162 CH$="N":MAX=2:GOSUB 2000 164 IF T$="" THEN T$="8":PRINT"[145]"SPC(14)T$"":GOTO 168 166 IF (VAL(T$)<8) OR (VAL(T$)>11) THEN PRINT"[145]"SPC(14)" [157][157]";:GOTO 162 168 D2=VAL(T$) 170 PRINT"[158] --------------------------------------" 175 PRINTSPC(10)"[201]NSERT FILE DISK(S)." 180 PRINTSPC(4)"[210][197][212][213][210][206] WHEN READY. [158][198]8 FOR [213]P[212]IME.[145][145]" 190 GET T$:IF T$="" THEN 190 192 IF T$=CHR$(140) THEN 1100 194 IF T$<>CHR$(13) THEN 190 200 PRINTSPC(7)"[204]OADING AND SCANNING FILE..." 205 PRINT" [145][145]" 210 X=0 220 KBACK=34576:REM BACKGROUND FOR KOALA 230 AD=24576:REM LOAD START ADDRESS 240 OPEN 15,D1,15,"I0" 250 OPEN 2,D1,2,"0:"+F$+",P,R" 260 INPUT#15,EN,EM$,ET,ES 265 IF EN<>0 THEN CLOSE 15:CLOSE 2:GOSUB 2400:GOTO 125 270 SYS 50000:REM LOADS INTO 24576, FINDS KEY 280 CLOSE 2:CLOSE15 290 EA=PEEK(2025)+256*PEEK(2026) 300 KY=PEEK(2027):V=PEEK(2028)+PEEK(2029)*256 310 PRINT"[147] [203]EY BYTE IS"KY" (USED"V"TIMES)" 320 BA=PEEK(KBACK)AND15:REM ONLY USED FOR KOALA 330 OPEN15,D2,15,"I0" 332 INPUT#15,EN,EM$,ET,ES 334 IF EN<>0 THEN CLOSE5:CLOSE15:GOSUB 2400:GOTO 80 335 PRINT#15,"S0:"+NF$ 340 OPEN 5,D2,5,"0:"+NF$+",P,W" 350 PRINT#5,CHR$(0)CHR$(0);:REM DUMMY ADDRESS 360 PRINT#5,CHR$(KY);:REM KEY BYTE 370 PRINT#5,TY$;:REM TYPE CODE 380 PRINT#5,CHR$(BA);:REM BACKGROUND COLOR 390 PRINT#5,CHR$(BC);:REM BORDER COLOR 395 PRINT"[158] --------------------------------------" 420 IF TY$<>"O" THEN 500 430 REM ***** FILETYPE=OTHER ******** 440 REM (NOT DOODLE OR KOALA FORMAT) 450 REM ONE FILE, NO SEPARATE SCREENS 470 A1=AD:E1=EA:GOSUB 690:CLOSE 5:GOTO 3000 500 IF TY$<>"D" THEN 590 510 REM ****** FILETYPE = DOODLE ****** 520 REM STANDARD HIRES, 8192 BITMAP+COLOR 540 A1=AD:E1=AD+999:GOSUB690 550 A1=AD+1024:E1=AD+9204:GOSUB690 560 CLOSE 5:GOTO 3000 600 REM ****** FILETYPE = KOALA ******* 610 REM MULTI HIRES, 8800 BITMAP+COLORS,BACKGROUND 630 A1=AD:E1=AD+7999:GOSUB690:REM BITMAP 640 A1=AD+8000:E1=AD+8999:GOSUB690:REM COLOR1 650 A1=AD+9000:E1=AD+9999:GOSUB690:REM COLOR2 660 CLOSE5:GOTO 3000 690 REM CRUNCH 700 PRINT:PRINTTAB(8)"[195]RUNCHING"A1"TO"E1" 710 X[178]A1[171]1:RP[178]1 720 [143] LOOP 730 X[178]X[170]1 740 [139] X[178]E1 [167] [137] 850 750 OL[178][194](X):NE[178][194](X[170]1) 760 [139] OL[179][177]NE [167] [141] 780 : [137] 720 770 RP[178]RP[170]1:[137]720 780 [143] PRINT TO DISK 790 [139] RP[177]255 [167] Q[178]RP:RP[178]255:[141]830:RP[178]Q[171]255:[137]790 800 [139] RP[178]1 [167] [152]5,[199](OL);:[137]840 810 [139] RP[178]2 [167] [152]5,[199](OL);[199](OL);:[137]840 820 [139] RP[178]3 [167] [152]5,[199](OL);[199](OL);[199](OL);:[137]840 830 [152]5,[199](KY)[199](OL)[199](RP); 840 RP[178]1:[142] 850 [143] ADD DONE CODES, RETURN 860 [141] 780 870 [152]5,[199](KY)[199](0)[199](0); 880 [142] 900 [143] MACHINE CODE 910 [129]J[178]50000[164]50139:[135]A:[151]J,A:[130]:[142] 920 [131] 032,207,195,162,002,032,198,255,032,228 930 [131] 255,032,228,255,169,000,133,251,169,096 940 [131] 133,252,160,000,032,228,255,145,251,230 950 [131] 251,208,002,230,252,170,254,000,157,240 960 [131] 003,076,127,195,254,000,158,165,144,240 970 [131] 229,032,204,255,165,251,141,233,007,165 980 [131] 252,141,234,007,169,000,133,180,133,181 990 [131] 133,190,032,182,195,165,190,208,009,230 1000 [131] 180,208,002,230,181,076,152,195,142,235 1010 [131] 007,165,180,141,236,007,165,181,141,237 1020 [131] 007,096,162,000,189,000,157,197,180,208 1030 [131] 012,189,000,158,197,181,208,005,169,001 1040 [131] 133,190,096,202,208,234,096,162,000,138 1050 [131] 157,000,157,157,000,158,202,208,247,096 1100 [159] 15,8,15,"I0" 1110 [159] 2,8,2,"0:UPT.REBOOT,P,R" 1120 [132]15,ER$ 1130 [160] 2:[160] 15 1140 [139] ER$[179][177]"00" [167] 1200 1145 [153]"LOAD"[166]10)"SYS(null)NE MOMENT PLEASE...":[153][166]12)"(null)ELOADING (null)P(null)IME." 1150 [147]"0:UPT.REBOOT",8 1200 [153]"LOAD RIGHT$NSERT (null)P(null)IME DISK AND PRESS (null)VAL(null)(null)(null)(null)" 1210 [161] A$:[139] A$[179][177][199](13) [167] 1210 1220 [137] 1100 1995 : 1996 [143] ******************* 1997 [143] KBD INPUT ROUTINE 1998 [143] ******************* 2000 CT[178]0:T$[178]"":CS$[178]"TOCMD":[153]CS$; 2010 [151] 198,0 2020 [161] K$:[139] K$[178]"" [167] 2020 2027 [139] K$[178]"RESTORE" [167] 1100 2030 [139] K$[178][199](13) [167] 2190 2040 [139] K$[179][177][199](20) [167] 2100 2050 [139] CT[178]0 [167] 2020 2060 CT[178]CT[171]1:T$[178][200](T$,CT) 2070 [153]" CMDCMD CMD"CS$; 2080 [137] 2020 2100 [139] CT[178]MAX [167] 2020 2102 [139] CH$[178]"A" [167] [137] 2110 2104 [139] (K$[179][199](48)) [176] K$[177][199](57) [167] 2020 2106 [137] 2150 2110 [139] K$[179][199](32) [167] 2020 2120 [139] K$[178][199](34) [167] 2020 2130 [139] K$[177][199](95) [175] K$[179][199](193) [167] 2020 2140 [139] K$[177][199](218) [167] 2020 2150 CT[178]CT[170]1:T$[178]T$[170]K$:[153]K$; 2160 [139] CT[179][177]MAX [167] [153]CS$; 2170 [137] 2020 2190 [153]" ":CH$[178]"A" 2200 [142] 2295 : 2296 [143] ***************** 2297 [143] FILE TYPE INPUT 2298 [143] ***************** 2300 CX[178]5:CY[178]5:CZ[178]5 2305 [161] TY$:[139] TY$[178]"" [167] 2305 2310 [139] TY$[179][177]"D" [175] TY$[179][177]"O" [175] TY$[179][177]"K" [167] 2305 2320 [139] TY$[178]"D" [167] CX[178]1 2330 [139] TY$[178]"K" [167] CY[178]1 2340 [139] TY$[178]"O" [167] CZ[178]1 2350 [129] T[178]0[164]8 2355 [139] T[178]1 [167] T[178]2 2360 [151] 55431[170]T,CX 2370 [151] 55471[170]T,CY 2380 [151] 55511[170]T,CZ 2390 [130]:[142] 2395 : 2396 [143] ******************** 2397 [143] DISK ERROR ROUTINE 2398 [143] ******************** 2399 : 2400 EM$[178]"ASCILE NOT ASCOUND" 2410 [139] EN[179][177]62 [167] EM$[178]"STR$ISK VALRROR VALNCOUNTERED" 2420 SZ[178][181]((40[171]([195](EM$)[170]12))[173]2) 2430 [153][166]SZ)"-> -> DEF"EM$" <- <- " 2440 [153][166]7)"(null)RESS (null)PACEBAR TO LENONTINUEON" 2450 [161] K$: [139] K$[179][177][199](32) [167] 2450 2460 [153]"" 2470 [129] T[178]1[164]13 2475 [153]" " 2480 [130] 2485 [153]" " 2490 [142] 3000 [153]"SYS ------------------------------------- 3005 PRINTTAB(10)"[198]INISHED [195]OMPACTING! 3010 [153]" (null)RESS (null)VAL(null)(null)(null)(null) TO COMPACT ANOTHER FILE 3015 PRINTTAB(12)"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]" 3020 PRINTTAB(12)" [198]8 FOR [213]P[212]IME " 3030 GET A$:IF A$="" THEN 3030 3040 IF A$=CHR$(13) THEN 80 3050 IF A$<>"[140]" THEN 3030 3060 GOTO 1100 4000 PRINT"[147]"TAB(8)"[158][200]I[210]ES [208]ICTURE [195]RUNCHER!" 4010 PRINT" (MAKE LITTLE FILES OUT OF [194][201][199] FILES!) 4020 [153][163]9)"(C) 1987 PEEKRUCE MID$AEGAR" 4100 [153][163]8)"DEFORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^ 4110 PRINTTAB(8)"[221] [221] 4120 [153][163]8)"(null) (null) 4130 PRINTTAB(8)"[221] [221] 4140 [153][163]8)"(null) (null) 4150 PRINTTAB(8)"[221] [221] 4160 [153][163]8)"(null) ORTANTANTANTAN>TANTANTANTAN^ 4170 PRINTTAB(8)"[221] [221] [221] 4180 [153][163]8)"(null) (null) (null) 4190 PRINTTAB(8)"[221] [221] [221] 4200 [153][163]8)"(null) (null) (null) 4210 PRINTTAB(8)"[173][192][192][192][192][192][192][192][192][192][192][192][179] [221] 4220 [153][163]8)" (null) (null) 4230 PRINTTAB(8)" [173][192][192][192][192][192][192][192][192][192][189] 4300 [153]" (null)UBLISHED BY (null)IKING (null)ECHNOLOGIES, RIGHT$NC." 4310 [153][163]8)"(null)RESS (null)VAL(null)(null)(null)(null) TO LENONTINUE" 4320 [161] A$:[139] A$[179][177][199](13) [167] 4320 4330 [142]